package accountManagementNew.utils;

import org.mindrot.jbcrypt.BCrypt;
import org.springframework.stereotype.Component;

/**
 * @Author：lihonbin
 * @Version：1.0.0
 * @Date:2025/9/23
 * @Description: 密码工具类
 */
@Component
public class PasswordUtil {

    /**
     * 密码编码
     * @param rawPwd 原密码
     * @return 加密后的密码
     */
    public static String encode(String rawPwd) {
        /**
         * BCrypt.gensalt()生成随机盐，可以指定工作因子
         */
        return BCrypt.hashpw(rawPwd, BCrypt.gensalt(12));
    }

    /**
     * 密码验证
     * @param rawPwd 原密码
     * @param encodePwd 加密后的密码
     * @return 验证结果
     */
    public static boolean matches(String rawPwd, String encodePwd) {
        return BCrypt.checkpw(rawPwd, encodePwd);
    }

}
